package com.clock.shop.domain;

import java.util.Date;

import com.baomidou.mybatisplus.annotation.TableField;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.clock.common.annotation.Excel;
import com.clock.common.core.domain.BaseEntity;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;

/**
 * 优惠券对象 shop_coupon
 * 
 * @author ruoyi
 * @date 2024-10-11
 */
public class ShopCoupon extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 优惠券ID */
    private Long couponId;

    /** 优惠金额 */
    @Excel(name = "优惠金额")
    private Integer couponPrice;

    /** 优惠券起始日期 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "优惠券起始日期", width = 30, dateFormat = "yyyy-MM-dd")
    private Date couponTimeStart;

    /** 优惠券类型(0-折扣优惠 1-满减优惠 2-会员专享) */
    @Excel(name = "优惠券类型(0-折扣优惠 1-满减优惠  2-会员专享)")
    private String couponType;

    /** 优惠券折扣率 */
    @Excel(name = "优惠券折扣率")
    private Long couponDiscount;

    /** 最低消费多少金额可用优惠券 */
    @Excel(name = "最低消费多少金额可用优惠券")
    private Long couponMin;

    /** 优惠券截止日期 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "优惠券截止日期", width = 30, dateFormat = "yyyy-MM-dd")
    private Date couponTimeEnd;

    /** 积分换购 */
    @Excel(name = "积分换购")
    private Integer couponTrade;

    /** 优惠券图片 */
    @Excel(name = "优惠券图片")
    private String couponPic;

    /** 所属店铺*/
    @Excel(name = "所属店铺")
    private Long shopId;

    /** 店铺名*/
    @Excel(name = "店铺名")
    @TableField(exist = false)
    private String shopName;

    public void setCouponId(Long couponId)
    {
        this.couponId = couponId;
    }

    public Long getCouponId()
    {
        return couponId;
    }
    public void setCouponPrice(Integer couponPrice)
    {
        this.couponPrice = couponPrice;
    }

    public Integer getCouponPrice()
    {
        return couponPrice;
    }
    public void setCouponTimeStart(Date couponTimeStart)
    {
        this.couponTimeStart = couponTimeStart;
    }

    public Date getCouponTimeStart()
    {
        return couponTimeStart;
    }
    public void setCouponType(String couponType)
    {
        this.couponType = couponType;
    }

    public String getCouponType()
    {
        return couponType;
    }
    public void setCouponDiscount(Long couponDiscount)
    {
        this.couponDiscount = couponDiscount;
    }

    public Long getCouponDiscount()
    {
        return couponDiscount;
    }
    public void setCouponMin(Long couponMin)
    {
        this.couponMin = couponMin;
    }

    public Long getCouponMin()
    {
        return couponMin;
    }
    public void setCouponTimeEnd(Date couponTimeEnd)
    {
        this.couponTimeEnd = couponTimeEnd;
    }

    public Date getCouponTimeEnd()
    {
        return couponTimeEnd;
    }
    public void setCouponTrade(Integer couponTrade)
    {
        this.couponTrade = couponTrade;
    }

    public Integer getCouponTrade()
    {
        return couponTrade;
    }
    public void setCouponPic(String couponPic)
    {
        this.couponPic = couponPic;
    }

    public String getCouponPic()
    {
        return couponPic;
    }
    public void setShopId(Long shopId)
    {
        this.shopId = shopId;
    }

    public Long getShopId()
    {
        return shopId;
    }

    public String getShopName() {
        return shopName;
    }

    public void setShopName(String shopName) {
        this.shopName = shopName;
    }
    @Override
    public String toString() {
        return new ToStringBuilder(this, ToStringStyle.MULTI_LINE_STYLE)
                .append("couponId", getCouponId())
                .append("couponPrice", getCouponPrice())
                .append("couponTimeStart", getCouponTimeStart())
                .append("couponType", getCouponType())
                .append("couponDiscount", getCouponDiscount())
                .append("couponMin", getCouponMin())
                .append("couponTimeEnd", getCouponTimeEnd())
                .append("couponTrade", getCouponTrade())
                .append("couponPic", getCouponPic())
                .append("shopId", getShopId())
                .append("shopName", getShopName())
                .toString();
    }
}
